هر CPU تعداد مشخصی تایمر از نوع S7 را ساپورت میکند. این تعداد در مشخصات فنی آنها ذکر شده است. برای هر تایمر در حافظه ی CPU یک (16 Bit) Word رزرو شده است که 12 بیت آن برای مقدار زمان به کار میرود. زمان بصورت Binary در این بیت ذخیره شده و پس از راه اندازی تایمر شروع به کم شدن میکند تا به صفر برسد. مقدار زمان را باید قبل از راه اندازی تایمر مشخص کرده و به حافظه بار کرد. فرمت این زمان به صورت زیر است:
S5T# 1H24M30S150MS
که در آن ساعت = H دقیقه M = ثانیه S = میلی ثانیه MS = میباشند. در تایمر ها برای وارد کردن زمان باید از فرمت S5TIME استفاده کنیم ، زیرا تایمر های S7 دقیقاً شبیه تایمرها در S5 هستند و با همین فرمت ارائه میشوند ، بنابراین حتماً باید قبل از وارد کردن زمان ، فرمت زمان تایپ شود (S5T#)
آدرس دهی تایمر ها با یک عدد صحیح که بعد از شناسه ی آنها (T) به کار میرود ، مشخص میشود مانند T0 , T1 , T2 , …
حداقل زمانی که میتوان برای هر تایمر در نظر گرفت ، 10MS و حداکثر آن 9990S یا 2H46M30S میباشد. وقتی زمان را با فرمت S5Time به کار میبریم ، به طور اتوماتیک پله های زمان (Resolution) مشخص میشود.
بیت های شماره 12 و 13 در 16 بیت مربوط به تایمر ، مشخص کننده ی Resolution تایمر است. در این دو بیت کد های باینری قرار میگیرند و با توجه به این کد ها مطابق با شکل زیر ، پله های زمان (Time Base) مشخص میشود.
آدرس دهی تایمر ها با یک عدد صحیح که بعد از شناسه ی آنها (T) به کار میرود ، مشخص میشود مانند T0 , T1 , T2 , …
حداقل زمانی که میتوان برای هر تایمر در نظر گرفت ، 10MS و حداکثر آن 9990S یا 2H46M30S میباشد. وقتی زمان را با فرمت S5Time به کار میبریم ، به طور اتوماتیک پله های زمان (Resolution) مشخص میشود.
بیت های شماره 12 و 13 در 16 بیت مربوط به تایمر ، مشخص کننده ی Resolution تایمر است. در این دو بیت کد های باینری قرار میگیرند و با توجه به این کد ها مطابق با شکل زیر ، پله های زمان (Time Base) مشخص میشود.
نمایندگی زیمنس
همانطور که در جدول فوق مشاهده میشود ، وقتی زمان تایمر برابر 2H46M30S یا 9990S باشد ، گام های زمان 10 S است. بنابراین ، متناسب با حجم زمان وارد شده به تایمر ، گام های زمان (Resolution) مشخص میشود.
در CPU های S7 پنج نوع تایمر از لحاظ عملکرد وجود دارد ، ولی شکل بلاک آنها با هم مشابه هستند. این تایمر ها از قسمت Program Element انتخاب و به محیط برنامه نویسی وارد میشود. تایمر هایی که با علامت _()_ نشان داده شدهاند ، Time Coil هستند و در عمل تفاوتی با تایمر های معمولی ندارند. به عنوان مثال ، با فراخوانی اولین تایمر ( تایمر پالس ) در زبان LAD بلاکی مشابه شکل زیر دیده میشود که پایه های ورودی و خروجی آنها نیز معرفی شده است.
نمایندگی زیمنس ایران
نکته 1 : در زبان LAD و در پایه ی Reset هر تایمر میتوان المان Bool را وارد کرده و سپس ، به آن آدرس اختصاص داد. همچنین ، میتوان در صورتی که نیاز به Not کننده نباشد ، مستقیماً آدرس مورد نظر را وارد نمود. در این صورت ، مقدار خود آدرس به پایه اختصاص میابد.
نکته 2 : اگر بخواهیم زمان باقی مانده ی تایمر را برای مقاصد مختلف از آن خارج کنیم ، به پایه BI یا BCD با توجه به نیاز ، آدرس یک Word از حافظه اختصاص میابد. این آدرس Word میتواند از Bit Memory یا Shared DB باشد.
نمایندگی زیمنس تهران
برای مشاهده ی زمان در سیستم های مانیتورینگ مانند WinCC از خروجی BI استفاده میشود ، زیرا زمان را با فرمت باینری خارج میکند. ولی برای مشاهده ی زمان بر روی 7Segment ، لازم است کد های باینری به BCD تبدیل شوند که خروجی BCD بدون نیاز به تبدیل در تمام تایمر ها وجود دارد.
جدول زیر ، هر پنج نوع تایمر S7 را به صورت خلاصه مقایسه میکند.
نوع تایمر | شرح |
Pulse Timer |
بایک شدن ورودی بکار می افتد و خروجی آن تا وقتی شرایط زیر برقرار است ، یک باقی میماند : 1) زمان t سپری نشده باشد. 2) ورودی 1 باشد. |
Extended Pulse Timer | بایک شدن ورودی بکار می افتد و خروجی آن تا وقتی زمان t سپری نشده ، یک باقی میماند ، حتی اگر ورودی صفر شود. |
On-Delay Timer | بایک شدن ورودی بکار می افتد و خروجی آن ابتدا صفر و پس از گذشت زمان t بشرط اینکه ورودی هنوز یک باشد ، یک میشود و با صفر شدن خروجی صفر میگردد. |
Retentive On-Delay Timer | با یک شدن ورودی بکار می افتد و خروجی آن ابتدا صفر و پس از گذشت زمان t حتی اگر ورودی صفر شده باشد ، یک میشود و یک باقی میماند. |
Off-Delay Timer | بایک شدن ورودی بکار می افتد ، ولی زمان t از وقتی شروع میشود که ورودی صفر شود. پس از آن ، به اندازه ی t خروجی یک باقی میماند. |
1- Pulse Timer
در این تایمر ، با فعال شدن ورودی تایمر خروجی نیز فعال میشود. تایمر شروع به زمان گیری میکند و تا قبل از به پایان رسیدن زمان ، باید شرط ورودی فعال بماند که در غیر این صورت ، خروجی نیز همزمان با قطع ورودی صفر میشود ( تایمر بدون حافظه ) به عبارت دیگر ، این تایمر بر اساس سطح کار میکند. معادل Signal Diagram آن در زیر دیده میشود.
2- تایمر S-PEXT ( Extended Pulse Timer )
عملکرد این تایمر مانند Pulse Timer است ، با این تفاوت که این تایمر دارای حافظه میباشد. یعنی ، با وصل و قطع یک لحظه ی ورودی ( لبه ی مثبت RLO ) تایمر زمان گیری کرده و مدت زمان شمارش در حافظه ی آن باقی میماند.
3- تایمر S-ODT (On-Delay Timer)
این تایمر با وصل شدن ورودی به آن ، زمان گیری را آغاز کرده و پس از مدت زمان تعیین شده (TV) خروجی را فعال میکند. اگر قبل از رسیدن به TV شرط ورودی غیر فعال شود ، تایمر زمان گیری را متوقف میکند ( تایمر بدون حافظه ) در زبان STL ، این تایمر با عبارت SD نشان داده میشود.
4- تایمر S-ODTS (Store On-Delay Timer)
عملکرد این تایمر مانند On-Delay Timer است ، با این تفاوت که این تایمر قابلیت ذخیره ی زمان پس از قطع شدن شرط ورودی را داراست. یعنی ، برای شروع به کار فقط لبه مثبت RLO را میبیند و زمان به تایمر بار میشود و پس از TV خروجی فعال خواهد شد. لازم به ذکر است که پس از فعال شدن خروجی تایمر ، برای غیر فعال شدن آن ، تایمر حتماً باید Reset شود. در زبان STL ، این تایمر با عبارت SS نشان داده میشود.
5- تایمر S-OFFDT ( off Delay Timer )
بر خلاف دیگر تایمر ها ، تایمر تاخیر در قطع فقط یک نوع دارد و همانطور که از نام آن پیداست ، تاخیر زمانی برای قطع کردن خروجی میباشد. با وصل شدن شرط ورودی تایمر ، همزمان خروجی نیز فعال میشود ولی زمان گیری نمیکند. پس از قطع شدن خروجی ( لبه پائین رونده RLO در پایه Set ) شروع به زمان گیری میکند و بعد از رسیدن به زمان مشخص شده ، خروجی را قطع میکند. توجه داشته باشید که تایمر پالس همین عملکرد را با لبه ی مثبت پالس انجام میدهد ، ولی این تایمر با لبه ی منفی پالس کار میکند. در زبان STL ، این تایمر با عبارت "SF" نشان داده میشود.